www.gusucode.com > 基于Matlab的MIMO通信系统仿真源码程序 > code9/mimo/matlab for mimo 2x2/channel_estimation.m
function H_hat = channel_estimation(trA_I, trA_Q, trB_I, trB_Q, tr_ant1_I, tr_ant1_Q , tr_ant2_I, tr_ant2_Q) % Function channel_estimation % By Maxime Maury % 05-04-21 % Inputs: % trA: training sequence received on antenna A % trB: training sequence received on antenna B % tr_ant1: training sequence sent on antenna 1 % tr_ant2: training sequence sent on antenna 2 % Output: % H_hat: estimate of the 2x2 channel matrix trainingA = trA_I + sqrt(-1)* trA_Q; trainingB = trB_I + sqrt(-1)* trB_Q; training_ant1 = tr_ant1_I + sqrt(-1)* tr_ant1_Q; training_ant2 = tr_ant2_I + sqrt(-1)* tr_ant2_Q; Y_r = [ trainingA ; trainingB ]; S = [ training_ant1 ; training_ant2 ]; S_est = S'*inv(S*S'); H_hat = Y_r*S_est; % plot( trA_I./max(trA_I) ) % hold on; % plot(tr_ant1_I./max(tr_ant1_I),'r');